package com.junxonline.instant.admin.service.config;

import com.baomidou.mybatisplus.extension.service.IService;
import com.junxonline.instant.dao.entity.dto.ui.SelectNodeDTO;
import com.junxonline.instant.dao.entity.model.config.Dict;
import com.junxonline.instant.dao.entity.vo.config.DictVO;
import com.junxonline.instant.common.entity.common.CommonReqPage;
import com.junxonline.instant.common.entity.common.CommonRespPage;

import java.util.List;

/**
 * 数据字典接口
 *
 * @author JunX
 * @date 2021-07-18
 */
public interface DictService extends IService<Dict> {

    /**
     * 根据数据字典分组查询数据字典列表（Select）
     *
     * @param code 数据字典分组编码
     * @return List<SelectNodeDTO>
     */
    List<SelectNodeDTO> queryDictByGroupCode(String code);

    /**
     * 查询数据字典列表
     *
     * @param vo 请求参数
     * @return CommonRespPage<Dict>
     */
    CommonRespPage<Dict> queryList(CommonReqPage<DictVO> vo);

    /**
     * 查询数据字典
     *
     * @param id ID
     * @return Role
     */
    Dict query(Long id);

    /**
     * 新增数据字典
     *
     * @param dict 请求参数
     */
    void add(Dict dict);

    /**
     * 编辑数据字典
     *
     * @param dict 请求参数
     */
    void edit(Dict dict);

    /**
     * 删除数据字典
     *
     * @param ids 请求参数
     */
    void delete(List<Long> ids);

}
